package cn.rxls.community.service;


import cn.rxls.community.dto.contractual.AddContractualDTO;
import cn.rxls.community.dto.contractual.ContractAssetConfirmDTO;
import cn.rxls.community.dto.contractual.ContractConfirmDTO;
import cn.rxls.community.dto.contractual.PageContractualByStateDTO;
import cn.rxls.community.entity.Contractual;
import cn.rxls.community.vo.ContractualVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;


/**
 * 房屋合同(Contractual)表服务接口
 */
public interface ContractualService extends IService<Contractual> {

    /**
     * 合同签订
     *
     * @param dto 参数对象
     * @return 是否成功
     */
    Boolean addContracting(AddContractualDTO dto);

    /**
     * 根据状态查询合同
     *
     * @param dto 参数对象
     * @return 多条数据
     */
    List<ContractualVO> selectPageByState(PageContractualByStateDTO dto);

    /**
     * 根据id查询合同内容
     *
     * @param id 合同id
     * @return 单条数据
     */
    ContractualVO selectDetailById(Long id);

    /**
     * 合同最终确认
     *
     * @param id 合同id
     * @return 是否成功
     */
    Boolean contractFinalConfirm(Long id);

    /**
     * 合同资产确认
     *
     * @param dto 实体对象
     * @return 是否成功
     */
    Boolean contractAssetConfirm(ContractAssetConfirmDTO dto);


    /**
     * 合同重要内容确认确认
     *
     * @param id 合同id
     * @return 是否成功
     */
    Boolean  contractImportantConfirm(Long id);
}
